package func_learn

/* 函数返回两个数的最大值 */
func Max(num1, num2 int) int {
	/* 声明局部变量 */
	var result int

	if num1 > num2 {
		result = num1
	} else {
		result = num2
	}
	return result
}

/**
 todo 大写表示可以被其他模块调用，函数名，变量名，结构体等等首字母大写表示 public

两个返回值的函数
*/
func Swap(x, y string) (string, string) {
	return y, x
}

/* 定义交换值函数   todo 引用传递*/
func SwapP(x *int, y *int) {
	var temp int
	temp = *x /* 保存 x 地址上的值 */
	*x = *y   /* 将 y 值赋给 x */
	*y = temp /* 将 temp 值赋给 y */
}

func GetSequence() func() int {
	i := 0
	return func() int {
		i += 1
		return i
	}
}
